# Запуск jupyter-server в ContainerApps

В этом руководстве мы научимся запускать jupyter-server в [Cloud.ru ContainerApps](https://cloud.ru/ru/products/evolution-container-apps).

## Необходимое программное обеспечение

- [Docker](https://www.docker.com)

## Запуск jupyter-server в ContainerApps

### Подготовка

Чтобы использовать образ jupyter-server в [ContainerApps](https://cloud.ru/ru/products/evolution-container-apps), выполните следующие шаги:

1. Склонируйте репозиторий jupyter-server:
```bash
git clone https://gitverse.ru/sc/cloudru/evo-containerapp-jupyter-server-sample.git
cd jupyter-server
```

2. Соберите образ jupyter-server:
```bash
docker build --platform linux/amd64 -t jupyter-server -f dist/jupyter-server/Dockerfile .
```

### Публикация образа в Artifact Registry

#### Создание репозитория

1. Перейдите в консоль и найдите продукт Artifact Registry.
![ar-find-in-console](docs/imgs/artifact-registry/find-in-console.png)
![ar-no-registy](docs/imgs/artifact-registry/no-registy.png)

2. Создайте реестр:
![ar-create-registry](docs/imgs/artifact-registry/create-registry.png)
![ar-create-registry-success](docs/imgs/artifact-registry/create-registry-success.png)

3. Создайте репозиторий:
![ar-create-repo-no-repos](docs/imgs/artifact-registry/create-repo-no-repos.png)
![ar-create-repo](docs/imgs/artifact-registry/create-repo.png)
![ar-create-repo-success](docs/imgs/artifact-registry/create-repo-success.png)

4. Получите ключи для Artifact Registry:
![user-settings](docs/imgs/user/settings.png)
![user-create-key](docs/imgs/user/create-key.png)

5. Войдите с полученными ключами:
```bash
docker login <<YOUR_REGISTRY>>.cr.cloud.ru
```

#### Публикация образа

1. Создайте новый тег для jupyter-server:
```bash
docker tag jupyter-server <<YOUR_REGISTRY>>.cr.cloud.ru/<<YOUR_REPO>>:<<TAG>>
```

2. Опубликуйте образ:
```bash
docker push <<YOUR_REGISTRY>>.cr.cloud.ru/<<YOUR_REPO>>:<<TAG>>
```

### Запуск образа в ContainerApps

1. Перейдите в консоль и найдите продукт ContainerApps.
![ca-find-in-console](docs/imgs/container-apps/find-in-console.png)
![ca-no-apps](docs/imgs/container-apps/no-apps.png)

2. Создайте приложение:
![ca-create-app-1](docs/imgs/container-apps/create-app-1.png)
![ca-create-app-2](docs/imgs/container-apps/create-app-2.png)
![ca-create-app-3](docs/imgs/container-apps/create-app-3.png)
![ca-create-app-4](docs/imgs/container-apps/create-app-4.png)
![ca-create-app-5](docs/imgs/container-apps/create-app-5.png)
![ca-create-app-6](docs/imgs/container-apps/create-app-6.png)

- Укажите параметры приложения, включая возможность клонирования репозитория при запуске (установите переменную `GIT_CLONE_REPO`).